package com.weitu.observation.observationMonthReport.mapper;

import com.weitu.observation.observationMonthReport.entity.ObservationMonthRepData;
import com.weitu.observation.observationMonthReport.entity.ObservationMonthReport;

import java.util.List;
import java.util.Map;

/**
 * Created by smp on 2017/4/1.
 */
public interface ObservationMonthReportMapper {
    /**
     * 查询月报列表
     * @param map
     * @return
     */
    List<ObservationMonthReport> queryList(Map<String,Object> map);

    /**
     * 查询数量
     * @param map
     * @return
     */
    int queryCount(Map<String,Object> map);

    /**
     * 查询本部门下的统计
     * @param map
     * @return
     */
    ObservationMonthRepData queryDataList(Map<String,Object> map);

    /**
     * 插入观察月报
     * @param observationMonthReport
     * @return
     */
    int insertReport(ObservationMonthReport observationMonthReport);

    /**
     * 插入月报相关数据
     * @param observationMonthRepData
     * @return
     */
    int insertRepData(List<ObservationMonthRepData> observationMonthRepData);

    /**
     * 根据ID查数据
     * @param id
     * @return
     */
    ObservationMonthReport queryById(String id);

    /**
     * 查询观察月报关联的观察月报统计数据
     * @param id
     * @return
     */
    List<ObservationMonthRepData> queryByReportId(String id);

    /**
     * 查询重复的名字个数
     * @param map
     * @return
     */
    int selectJudgement(Map<String,Object> map);

    /**
     * 编辑月报
     * @param report
     * @return
     */
    int updateMontReport(ObservationMonthReport report);

    /**
     * 删除关联数据
     * @param reportId
     * @return
     */
    int deleteReportData(String reportId);

    /**
     * 删除观察月报
     * @param id
     * @return
     */
    int deleteReport(String id);


    /**
     * 查询本部门下的统计
     * @param map
     * @return
     */
    ObservationMonthRepData queryDataListNext(Map<String,Object> map);
}
